#include<graphics.h>
#include<conio.h>
#include<stdio.h>

int main()
{
	float Pi=3.14159;//定义Pi
	initgraph(800,600);//打开一个600*600窗口
	setbkcolor(RGB(128,128,128));//设置背景颜色为灰色
	cleardevice();//清空原始背景颜色

	int centerX;//空心圆的X坐标
	int centerY;//空心圆的Y坐标
	int radius;//空心圆的半径  ！其目的并不是画圆，而是定义这些变量从而绘制出扇形！
	int i;
	float offset;//每块小扇形的旋转周期
	float totalOffset;//不同半径圆的角度偏称量
	while(1)
	{
	for(centerX=100;centerX<800;centerX=centerX+200)//横向循环
	{
		for(centerY=100;centerY<600;centerY=centerY+200)//纵向循环
		{
			totalOffset=0;//同一半径各组扇形的角度偏移量
			float h=rand()%180;//随机色调
	        COLORREF color1=HSVtoRGB(h,0.9,0.8);//色调1生成的颜色1
	        COLORREF color2=HSVtoRGB(h+180,0.9,0.8);//色调2生成的颜色2
			for(radius=100;radius>0;radius=radius-20)
	{
		int left=centerX-radius;//扇形的左上角X坐标
	    int top=centerY-radius;//扇形的左上角Y坐标
	    int right=centerX+radius;//扇形的右下角X坐标
	    int bottom=centerY+radius;//扇形的右下角的Y坐标

        for(i=0;i<20;i++)
			{
				offset=i*Pi/10+totalOffset;
				setfillcolor(color1);//设置填充颜色为青色
				solidpie(left,top,right,bottom,offset,2*Pi/60+offset);//画填充扇形
				setfillcolor(RGB(255,255,255));//设置填充颜色为白色
				solidpie(left,top,right,bottom,2*Pi/60+offset,3*Pi/60+offset);//画填充扇形
				setfillcolor(color2);//设置填充颜色为红色
				solidpie(left,top,right,bottom,3*Pi/60+offset,5*Pi/60+offset);//画填充扇形
				setfillcolor(RGB(0,0,0));//设置填充颜色为黑色
				solidpie(left,top,right,bottom,5*Pi/60+offset,6*Pi/60+offset);//画填充扇形 
			}
		totalOffset=totalOffset+Pi/20;
	}
		}
		
	}
	_getch();//暂停，等待按键输入
	}
	return 0;
}
